WindowKeyDown vs WindowKeyUp
Most programs respond to WindowKeyDown messages, but not WindowKeyUp messages, because
that is sufficient to react to all keystrokes.
WindowKeyDown messages are created at a rate of about 20 per second if a key is held down for more than about .5 seconds, followed by a single WindowKeyUp when the key is released.
8 0x08 KeyBackspace 9 0x09 KeyTab 12 0x0C KeyClear 13 0x0D KeyEnter 16 0x10 KeyShift 17 0x11 KeyControl 18 0x12 KeyAlt 19 0x13 KeyPause 20 0x14 KeyCapLock 27 0x1B KeyEscape 32 0x20 KeySpace 33 0x21 KeyPageUp 34 0x22 KeyPageDown 35 0x23 KeyEnd 36 0x24 KeyHome 37 0x25 KeyLeftArrow 38 0x26 KeyUpArrow 39 0x27 KeyRightArrow 40 0x28 KeyDownArrow 44 0x2C KeyPrintScreen 45 0x2D KeyInsert 46 0x2E KeyDelete 47 0x2F KeyHelp |
48 0x30 Key0 49 0x31 Key1 50 0x32 Key2 51 0x33 Key3 52 0x34 Key4 53 0x35 Key5 54 0x36 Key6 55 0x37 Key7 56 0x38 Key8 57 0x39 Key9 65 0x41 KeyA 66 0x42 KeyB 67 0x43 KeyC 68 0x44 KeyD 69 0x45 KeyE 70 0x46 KeyF 71 0x47 KeyG 72 0x48 KeyH 73 0x49 KeyI 74 0x4A KeyJ 75 0x4B KeyK 76 0x4C KeyL 77 0x4D KeyM 78 0x4E KeyN 79 0x4F KeyO 80 0x50 KeyP 81 0x51 KeyQ 82 0x52 KeyR 83 0x53 KeyS 84 0x54 KeyT 85 0x55 KeyU 86 0x56 KeyV 87 0x57 KeyW 88 0x58 KeyX 89 0x59 KeyY 90 0x5A KeyZ |
96 0x60 KeyPad0 97 0x61 KeyPad1 98 0x62 KeyPad2 99 0x63 KeyPad3 100 0x64 KeyPad4 101 0x65 KeyPad5 102 0x66 KeyPad6 103 0x67 KeyPad7 104 0x68 KeyPad8 105 0x69 KeyPad9 106 0x6A KeyPadMultiply 107 0x6B KeyPadAdd 108 0x6C _ 109 0x6D KeyPadSubtract 110 0x6E KeyPadDecimalPoint 111 0x6F KeyPadDivide 112 0x70 KeyF1 113 0x71 KeyF2 114 0x72 KeyF3 115 0x73 KeyF4 116 0x74 KeyF5 117 0x75 KeyF6 118 0x76 KeyF7 119 0x77 KeyF8 120 0x78 KeyF9 121 0x79 KeyF10 122 0x7A KeyF11 123 0x7B KeyF12 124 0x7C KeyF13 125 0x7D KeyF14 126 0x7E KeyF15 127 0x7F KeyF16 144 0x90 KeyNumLock |